<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Kyoto Cabinet: kyotocabinet::DB::Cursor Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Kyoto Cabinet
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacekyotocabinet.html">kyotocabinet</a>      </li>
      <li class="navelem"><a class="el" href="classkyotocabinet_1_1DB.html">DB</a>      </li>
      <li class="navelem"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html">Cursor</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">kyotocabinet::DB::Cursor Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="kyotocabinet::DB::Cursor" -->
<p>Interface of cursor to indicate a record.  
 <a href="classkyotocabinet_1_1DB_1_1Cursor.html#details">More...</a></p>

<p><code>#include &lt;kcdb.h&gt;</code></p>

<p><a href="classkyotocabinet_1_1DB_1_1Cursor-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9ac267ce1fd4ce75fd5e69604f815032">~Cursor</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a9ac267ce1fd4ce75fd5e69604f815032"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#af19b3472aeec03686a074dae416c8ed3">accept</a> (<a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, bool writable=true, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Accept a visitor to the current record.  <a href="#af19b3472aeec03686a074dae416c8ed3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a4d1ff14d0a9035df80ea2f9960fe96b2">set_value</a> (const char *vbuf, size_t vsiz, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the current record.  <a href="#a4d1ff14d0a9035df80ea2f9960fe96b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a1c740a07c7f15893bf5933cd6bd5e036">set_value_str</a> (const std::string &amp;value, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the current record.  <a href="#a1c740a07c7f15893bf5933cd6bd5e036"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a96259c03f1caeb5b475d49a87bde8efb">remove</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the current record.  <a href="#a96259c03f1caeb5b475d49a87bde8efb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aec52b1f02b71222f90c5e1dcaf6f38d7">get_key</a> (size_t *sp, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key of the current record.  <a href="#aec52b1f02b71222f90c5e1dcaf6f38d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a2ac5f1212cc9b9dcddad1c591b44d2e2">get_key</a> (std::string *key, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key of the current record.  <a href="#a2ac5f1212cc9b9dcddad1c591b44d2e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aa00f9d9f984a17dcb8d24bbacaf573af">get_value</a> (size_t *sp, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the current record.  <a href="#aa00f9d9f984a17dcb8d24bbacaf573af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a93c30a739b1ece495ee0c43d87d1525d">get_value</a> (std::string *value, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the current record.  <a href="#a93c30a739b1ece495ee0c43d87d1525d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a556bb019a558a6279e4778361e889289">get</a> (size_t *ksp, const char **vbp, size_t *vsp, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pair of the key and the value of the current record.  <a href="#a556bb019a558a6279e4778361e889289"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a71ed167fd7beb149d110c3eed43be108">get</a> (std::string *key, std::string *value, bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a>=false)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pair of the key and the value of the current record.  <a href="#a71ed167fd7beb149d110c3eed43be108"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9b7e9982b948d66a4d2a0295229ac4c1">jump</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to the first record for forward scan.  <a href="#a9b7e9982b948d66a4d2a0295229ac4c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#af5ce800de2275a5e912265fd9afc896d">jump</a> (const char *kbuf, size_t ksiz)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to a record for forward scan.  <a href="#af5ce800de2275a5e912265fd9afc896d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a3b38a11631f37d104209e5feade154b4">jump</a> (const std::string &amp;key)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to a record for forward scan.  <a href="#a3b38a11631f37d104209e5feade154b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a65452f182db3cd688885c460a761fa9c">jump_back</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to the last record for backward scan.  <a href="#a65452f182db3cd688885c460a761fa9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a4456015ac4c0248aebcabb03e195e860">jump_back</a> (const char *kbuf, size_t ksiz)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to a record for backward scan.  <a href="#a4456015ac4c0248aebcabb03e195e860"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9d392717ad801064a36220a91f907c1d">jump_back</a> (const std::string &amp;key)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump the cursor to a record for backward scan.  <a href="#a9d392717ad801064a36220a91f907c1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">step</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Step the cursor to the next record.  <a href="#a312228bd858d3091e32b65f1128faab4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a1eb720a41b9bad81f3dd6621870133d5">step_back</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Step the cursor to the previous record.  <a href="#a1eb720a41b9bad81f3dd6621870133d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classkyotocabinet_1_1DB.html">DB</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a20b908092afa13830cf18fd19ac19ef2">db</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the database object.  <a href="#a20b908092afa13830cf18fd19ac19ef2"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Interface of cursor to indicate a record. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9ac267ce1fd4ce75fd5e69604f815032"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::~Cursor" ref="a9ac267ce1fd4ce75fd5e69604f815032" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9ac267ce1fd4ce75fd5e69604f815032">kyotocabinet::DB::Cursor::~Cursor</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Reimplemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a0e93160f1599c0063b6db4226216cfb3">kyotocabinet::BasicDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a38d9242a0fcf2aba06792dc3dbbd9adb">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a6714f26c323848a3555dff7bada533d6">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#ad2f8d403c52c56f5e89af9bd76becb2e">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a8b67ecadd10bef6445e2feb1ef40771a">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a8cee3c9907e5b73b9fd8ac18c728d2dd">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#a633ee3cb02f483f94fbaee6100c958d2">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#af937f24b8e80a33a5766f82cf4711aff">kyotocabinet::PolyDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a1a1a0985e52e2bacd25ddce6912d2d74">kyotocabinet::TextDB::Cursor</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af19b3472aeec03686a074dae416c8ed3"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::accept" ref="af19b3472aeec03686a074dae416c8ed3" args="(Visitor *visitor, bool writable=true, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#af19b3472aeec03686a074dae416c8ed3">kyotocabinet::DB::Cursor::accept</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&#160;</td>
          <td class="paramname"><em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>writable</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Accept a visitor to the current record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">visitor</td><td>a visitor object. </td></tr>
    <tr><td class="paramname">writable</td><td>true for writable operation, or false for read-only operation. </td></tr>
    <tr><td class="paramname">step</td><td>true to move the cursor to the next record, or false for no move. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The operation for each record is performed atomically and other threads accessing the same record are blocked. To avoid deadlock, any explicit database operation must not be performed in this function. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a9c424b101ee48c420a58606276329985">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a8141035fcfb80991033d2be00e74059d">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#ad9909c5e46371b032d0b2dbdc6e5ba71">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#aadf8106bae01dc6751227a180cafa961">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a8c9818921e87c83e6a77d6d899ce85d3">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#aa74a9c66b1ae77d0fe0513577de253df">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#af6b39a3fef57170ddd67f32073406878">kyotocabinet::PolyDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#ad9268e220a5b3b2e13b4a65a85bbdc90">kyotocabinet::TextDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a4d1ff14d0a9035df80ea2f9960fe96b2"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::set_value" ref="a4d1ff14d0a9035df80ea2f9960fe96b2" args="(const char *vbuf, size_t vsiz, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a4d1ff14d0a9035df80ea2f9960fe96b2">kyotocabinet::DB::Cursor::set_value</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>vsiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the current record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">vbuf</td><td>the pointer to the value region. </td></tr>
    <tr><td class="paramname">vsiz</td><td>the size of the value region. </td></tr>
    <tr><td class="paramname">step</td><td>true to move the cursor to the next record, or false for no move. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#afcefc06f76d1790461d25dcebb09e5a2">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a1c740a07c7f15893bf5933cd6bd5e036"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::set_value_str" ref="a1c740a07c7f15893bf5933cd6bd5e036" args="(const std::string &amp;value, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a1c740a07c7f15893bf5933cd6bd5e036">kyotocabinet::DB::Cursor::set_value_str</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the current record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a4d1ff14d0a9035df80ea2f9960fe96b2" title="Set the value of the current record.">Cursor::set_value</a> method except that the parameter is std::string. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#ad75b1a84559d4b11077415e3c414166d">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a96259c03f1caeb5b475d49a87bde8efb"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::remove" ref="a96259c03f1caeb5b475d49a87bde8efb" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a96259c03f1caeb5b475d49a87bde8efb">kyotocabinet::DB::Cursor::remove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove the current record. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, false is returned. The cursor is moved to the next record implicitly. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a4ff900ef9fcb20caeafc00f667cd9b43">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="aec52b1f02b71222f90c5e1dcaf6f38d7"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get_key" ref="aec52b1f02b71222f90c5e1dcaf6f38d7" args="(size_t *sp, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aec52b1f02b71222f90c5e1dcaf6f38d7">kyotocabinet::DB::Cursor::get_key</a> </td>
          <td>(</td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>sp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the key of the current record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sp</td><td>the pointer to the variable into which the size of the region of the return value is assigned. </td></tr>
    <tr><td class="paramname">step</td><td>true to move the cursor to the next record, or false for no move. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pointer to the key region of the current record, or NULL on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the cursor is invalidated, NULL is returned. Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a C-style string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a7777ed7c57ee0a3ad26ed14a4edbade0">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a2ac5f1212cc9b9dcddad1c591b44d2e2"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get_key" ref="a2ac5f1212cc9b9dcddad1c591b44d2e2" args="(std::string *key, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aec52b1f02b71222f90c5e1dcaf6f38d7">kyotocabinet::DB::Cursor::get_key</a> </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the key of the current record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aec52b1f02b71222f90c5e1dcaf6f38d7" title="Get the key of the current record.">Cursor::get_key</a> method except that a parameter is a string to contain the result and the return value is bool for success. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a6867118e1328d3d1fed377b9905114a1">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="aa00f9d9f984a17dcb8d24bbacaf573af"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get_value" ref="aa00f9d9f984a17dcb8d24bbacaf573af" args="(size_t *sp, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aa00f9d9f984a17dcb8d24bbacaf573af">kyotocabinet::DB::Cursor::get_value</a> </td>
          <td>(</td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>sp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the current record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sp</td><td>the pointer to the variable into which the size of the region of the return value is assigned. </td></tr>
    <tr><td class="paramname">step</td><td>true to move the cursor to the next record, or false for no move. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pointer to the value region of the current record, or NULL on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the cursor is invalidated, NULL is returned. Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a C-style string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#abb9c95de012fd7d74d9656ef76110ea1">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a93c30a739b1ece495ee0c43d87d1525d"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get_value" ref="a93c30a739b1ece495ee0c43d87d1525d" args="(std::string *value, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aa00f9d9f984a17dcb8d24bbacaf573af">kyotocabinet::DB::Cursor::get_value</a> </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the current record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#aa00f9d9f984a17dcb8d24bbacaf573af" title="Get the value of the current record.">Cursor::get_value</a> method except that a parameter is a string to contain the result and the return value is bool for success. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#abf0e4f52cc050d6c73cb99bb6b43a8de">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a556bb019a558a6279e4778361e889289"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get" ref="a556bb019a558a6279e4778361e889289" args="(size_t *ksp, const char **vbp, size_t *vsp, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a556bb019a558a6279e4778361e889289">kyotocabinet::DB::Cursor::get</a> </td>
          <td>(</td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>ksp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>vbp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>vsp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a pair of the key and the value of the current record. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ksp</td><td>the pointer to the variable into which the size of the region of the return value is assigned. </td></tr>
    <tr><td class="paramname">vbp</td><td>the pointer to the variable into which the pointer to the value region is assigned. </td></tr>
    <tr><td class="paramname">vsp</td><td>the pointer to the variable into which the size of the value region is assigned. </td></tr>
    <tr><td class="paramname">step</td><td>true to move the cursor to the next record, or false for no move. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pointer to the key region, or NULL on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the cursor is invalidated, NULL is returned. Because an additional zero code is appended at the end of each region of the key and the value, each region can be treated as a C-style string. The return value should be deleted explicitly by the caller with the detele[] operator. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a2701fe0ced7c75d4da882722cb8ed8c8">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a71ed167fd7beb149d110c3eed43be108"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::get" ref="a71ed167fd7beb149d110c3eed43be108" args="(std::string *key, std::string *value, bool step=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a556bb019a558a6279e4778361e889289">kyotocabinet::DB::Cursor::get</a> </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>step</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a pair of the key and the value of the current record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a556bb019a558a6279e4778361e889289" title="Get a pair of the key and the value of the current record.">Cursor::get</a> method except that parameters are strings to contain the result and the return value is bool for success. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#aac09279d88c1e05e636f3711a3e170ad">kyotocabinet::BasicDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a9b7e9982b948d66a4d2a0295229ac4c1"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump" ref="a9b7e9982b948d66a4d2a0295229ac4c1" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9b7e9982b948d66a4d2a0295229ac4c1">kyotocabinet::DB::Cursor::jump</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to the first record for forward scan. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a03005070904126aa6fc5748ebd969c49">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a170dc516ec00ce604a54d1f463762fc7">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a7fe4d995b56b93755b8cc48ac7bcddac">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#aa72a1b7f65e5e848cbcd683a54adcdd3">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#af38b6f36d8a728c09fd0aa52913242fa">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a0667e42f84b7e299f90bcb10da96adfa">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a118a79dd4d4e89cf146cfb14907f60ec">kyotocabinet::PolyDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#abeea2a8b1ff904e80d48f8c62d308007">kyotocabinet::TextDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="af5ce800de2275a5e912265fd9afc896d"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump" ref="af5ce800de2275a5e912265fd9afc896d" args="(const char *kbuf, size_t ksiz)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9b7e9982b948d66a4d2a0295229ac4c1">kyotocabinet::DB::Cursor::jump</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ksiz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to a record for forward scan. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">kbuf</td><td>the pointer to the key region. </td></tr>
    <tr><td class="paramname">ksiz</td><td>the size of the key region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#afec2985958ef7fba9110a7b3ee65f2d3">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a85ea7ab0eb2ba27300f211b62b2c1d24">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a571ba922e064ee841e37a08ef0389c5c">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#aaf84c6fa4298d5382def5293abfffe25">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#ac60c27e0dc01f86232b4805c0ecc694d">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#aa2ae671d99e8938904aaf656cf13e04e">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a5d79dec9808797056a133ffd66c12d1e">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a169e9d0c536fe894f980be8aaf6ffe41">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a3b38a11631f37d104209e5feade154b4"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump" ref="a3b38a11631f37d104209e5feade154b4" args="(const std::string &amp;key)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9b7e9982b948d66a4d2a0295229ac4c1">kyotocabinet::DB::Cursor::jump</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to a record for forward scan. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a9b7e9982b948d66a4d2a0295229ac4c1" title="Jump the cursor to the first record for forward scan.">Cursor::jump</a> method except that the parameter is std::string. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a1692879476b86e0c3a1ba2be109c53dd">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a339d2bf45a0db189cbcc275d393edce4">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a5c103f59e9a9dc88b55dfb5b88c7fdcb">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a1d4cce3ed58fe9b52550ccdc64d1d004">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#afe516ec985d70ace66d9bc7d90fb483e">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a64e245b6339bad59db318933b35447e9">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a9a8241fe4b876b000ee5eb3f974bb495">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a68d2a137e3119605ec11c42f1e54b19f">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a65452f182db3cd688885c460a761fa9c"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump_back" ref="a65452f182db3cd688885c460a761fa9c" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a65452f182db3cd688885c460a761fa9c">kyotocabinet::DB::Cursor::jump_back</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to the last record for backward scan. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is dedicated to tree databases. Some database types, especially hash databases, will provide a dummy implementation. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a3fde297c2bcf0f7fe3d1cea846d0903f">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a5978f16b3b67db9f96e5915a7814abb8">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a3532179ee1f7074df5174c2efeab49ae">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#aab96a44524b402431358d3d44d71bc81">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#aff5c4057a0571931c3c0c394fb5de5b1">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#adf5a30f1405d7e3d47dea9874ca9ed7c">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a23d98e2eec2755884af1e556dfc215e9">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#aa3952d6531123faf14555c0b7d6f00df">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a4456015ac4c0248aebcabb03e195e860"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump_back" ref="a4456015ac4c0248aebcabb03e195e860" args="(const char *kbuf, size_t ksiz)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a65452f182db3cd688885c460a761fa9c">kyotocabinet::DB::Cursor::jump_back</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ksiz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to a record for backward scan. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">kbuf</td><td>the pointer to the key region. </td></tr>
    <tr><td class="paramname">ksiz</td><td>the size of the key region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is dedicated to tree databases. Some database types, especially hash databases, will provide a dummy implementation. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#afbcccb698b6defa457bcd1d0cf141a4a">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a0fad966245dbe96e3fbaf1c5b336d3ca">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a931d7f1cf2aec67836d9eb814e2cfa9a">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a95fce8986442fce9647cb3e54e4a2eb7">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#ac0989d521f8e08b48727a9b6c1d45583">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#ab440dcb632e1525ab909adee470ac20d">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a62d977791ad70cbc3d7c1b7f2ba1711a">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a0af9b7a86df7cb095816118e18365d7f">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a9d392717ad801064a36220a91f907c1d"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::jump_back" ref="a9d392717ad801064a36220a91f907c1d" args="(const std::string &amp;key)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a65452f182db3cd688885c460a761fa9c">kyotocabinet::DB::Cursor::jump_back</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Jump the cursor to a record for backward scan. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a65452f182db3cd688885c460a761fa9c" title="Jump the cursor to the last record for backward scan.">Cursor::jump_back</a> method except that the parameter is std::string. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a51d7b4425af638cecdcacdc2550be177">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a1e20c9b0b33046839bb4ade297efa3b2">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a2440ef608c8481b73b7c0c90073ceb19">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#ad7a1312532a0709e99fb63be9fc42d2e">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#a2665ebee6cecea94ab378e0e299dac81">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a50fef5f2945b3576acbbd3c80e2c5112">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a69160a6b54b156edabd04e7ea88d9707">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#af4d7755d11f0210ee7c0f747868dec65">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a312228bd858d3091e32b65f1128faab4"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::step" ref="a312228bd858d3091e32b65f1128faab4" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a312228bd858d3091e32b65f1128faab4">kyotocabinet::DB::Cursor::step</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Step the cursor to the next record. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#a7f4be9cb599712b69ee71b1da65ef8f3">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a97e5de36c7013633822978ba4464566f">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a1777ac2ce032e0a09f684ebae713b5ce">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a31e009c3df7d4baf4cde3a2b3367fa6a">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#a2297e313742ffcee55e4c5cb78a6ec50">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a9ed7c428eccf0b70588301104c677e11">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a94dd5dff573d62595688ede25d678d53">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a1ee17261d64b6833d6c6f8c1bb56cbd5">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a1eb720a41b9bad81f3dd6621870133d5"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::step_back" ref="a1eb720a41b9bad81f3dd6621870133d5" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a1eb720a41b9bad81f3dd6621870133d5">kyotocabinet::DB::Cursor::step_back</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Step the cursor to the previous record. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method is dedicated to tree databases. Some database types, especially hash databases, will provide a dummy implementation. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#afdc1941834599cfa941b6054bc031a05">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#abaee4c4ed39a012fafa89568ad5b979f">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#a242bcd524a78a6a55668db4b80851bac">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a19f77d1a2fe78560d5ee4078c86445a0">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#aec4da04f1b3510474b59a62100fa70fd">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#aafe8e849fea3ce4d8157f12ea0bb42cc">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#afdfea3f927fd550022f75c71482e3317">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#ae157c64d32a9d271cc8f3211d0410abf">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
<a class="anchor" id="a20b908092afa13830cf18fd19ac19ef2"></a><!-- doxytag: member="kyotocabinet::DB::Cursor::db" ref="a20b908092afa13830cf18fd19ac19ef2" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classkyotocabinet_1_1DB.html">DB</a>* <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html#a20b908092afa13830cf18fd19ac19ef2">kyotocabinet::DB::Cursor::db</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the database object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the database object. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#a79e3904e5b10ed3d356545ed4259160e">kyotocabinet::BasicDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1HashDB_1_1Cursor.html#af4c7afcf214e27b4443a4b8a2bf10e98">kyotocabinet::HashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1PlantDB_1_1Cursor.html#a5b1ae804863c879191b39fc432ac4e91">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1DirDB_1_1Cursor.html#ac0836d0d5f9698adc2b877635519e8cd">kyotocabinet::DirDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1CacheDB_1_1Cursor.html#a53297e2dc505eca116e97e5419686279">kyotocabinet::CacheDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB_1_1Cursor.html#a4fb26a2e77eafff88624c4b327a08c2c">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;::Cursor</a>, <a class="el" href="classkyotocabinet_1_1StashDB_1_1Cursor.html#a5e8436056db9fc5d20c643a745a606ac">kyotocabinet::StashDB::Cursor</a>, <a class="el" href="classkyotocabinet_1_1TextDB_1_1Cursor.html#a38e8f7defb5a7eab2ea34ff3e22e4970">kyotocabinet::TextDB::Cursor</a>, and <a class="el" href="classkyotocabinet_1_1PolyDB_1_1Cursor.html#a9adb3e84f317deba37effc1ddc6bf9fd">kyotocabinet::PolyDB::Cursor</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri May 25 2012 01:21:36 for Kyoto Cabinet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
